package com.binance.notification.web.kafka;

import org.springframework.cloud.stream.annotation.Input;
import org.springframework.cloud.stream.annotation.Output;
import org.springframework.messaging.MessageChannel;
import org.springframework.messaging.SubscribableChannel;

public interface IChannel {

    String ALERT_PRICE_PAIR_KAFKA_OUTPUT_CHANNEL = "COM_BINANCE_NOTIFICATION_ALERTPRICEPAIR_OUTPUT";
    String ALERT_PRICE_PAIR_KAFKA_INPUT_CHANNEL = "COM_BINANCE_NOTIFICATION_ALERTPRICEPAIR_INPUT";
    String ALERT_PRICE_KAFKA_OUTPUT_CHANNEL = "COM_BINANCE_NOTIFICATION_ALERTPRICE_OUTPUT";
    String ALERT_PRICE_KAFKA_INPUT_CHANNEL = "COM_BINANCE_NOTIFICATION_ALERTPRICE_INPUT";
//    String ALERT_TRADE_KAFKA_OUTPUT_CHANNEL = "COM_BINANCE_NOTIFICATION_ALERTTRADE_OUTPUT";
    String ALERT_TRADE_KAFKA_INPUT_CHANNEL = "COM_BINANCE_NOTIFICATION_ALERTTRADE_INPUT";

    /**
     * 交易对输出通道
     *
     * @return
     */
    @Output(ALERT_PRICE_PAIR_KAFKA_OUTPUT_CHANNEL)
    MessageChannel alertPricePairOutput();

    @Input(ALERT_PRICE_PAIR_KAFKA_INPUT_CHANNEL)
    SubscribableChannel alertPricePairInput();

    /**
     * 价格提醒信息输出通道
     *
     * @return
     */
    @Output(ALERT_PRICE_KAFKA_OUTPUT_CHANNEL)
    MessageChannel alerPriceOutput();

    @Input(ALERT_PRICE_KAFKA_INPUT_CHANNEL)
    SubscribableChannel alertPriceInput();


    /**
     * 成交提醒信息输出通道
     *
     * @return
     */
//    @Output(ALERT_TRADE_KAFKA_OUTPUT_CHANNEL)
//    MessageChannel alertTradeOutput();
  
    @Input(ALERT_TRADE_KAFKA_INPUT_CHANNEL)
    SubscribableChannel alertTradeInput();


}
